home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 February: Tool Chest / Dev.CD Feb 94.toast / Tool Chest / Development Platforms / MPW Related / MPW Interfaces / CIncludes / Files.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-09-17  |  48.7 KB  |  1,523 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        Files.h
  3.  
  4.     Copyright:    © 1983-1993 by Apple Computer, Inc.
  5.                 All rights reserved.
  6.  
  7.     Version:    System 7.1 for ETO #11
  8.     Created:    Tuesday, March 30, 1993 18:00
  9.  
  10. */
  11.  
  12. #ifndef __FILES__
  13. #define __FILES__
  14.  
  15. #ifndef __TYPES__
  16. #include <Types.h>
  17. #endif
  18.  
  19. #ifndef __OSUTILS__
  20. #include <OSUtils.h>
  21. #endif
  22.  
  23. #ifndef __SEGLOAD__
  24. #include <SegLoad.h>
  25. #endif
  26.  
  27.  
  28. enum {
  29.  
  30.  
  31. /* Finder Constants */
  32.  fsAtMark = 0,
  33.  fOnDesk = 1,
  34.  fsCurPerm = 0,
  35.  fHasBundle = 8192,
  36.  fsRdPerm = 1,
  37.  fInvisible = 16384,
  38.  fTrash = -3,
  39.  fsWrPerm = 2,
  40.  fDesktop = -2,
  41.  fsRdWrPerm = 3,
  42.  fDisk = 0,
  43.  fsRdWrShPerm = 4,
  44.  fsFromStart = 1,
  45.  fsFromLEOF = 2,
  46.  fsFromMark = 3,
  47.  rdVerify = 64,
  48.  ioDirFlg = 3,                        /* see IM IV-125 */
  49.  ioDirMask = 0x10,
  50.  fsRtParID = 1,
  51.  fsRtDirID = 2
  52. };
  53. enum {
  54.  
  55. /* CatSearch SearchBits Constants */
  56.  fsSBPartialName = 1,
  57.  fsSBFullName = 2,
  58.  fsSBFlAttrib = 4,
  59.  fsSBFlFndrInfo = 8,
  60.  fsSBFlLgLen = 32,
  61.  fsSBFlPyLen = 64,
  62.  fsSBFlRLgLen = 128,
  63.  fsSBFlRPyLen = 256,
  64.  fsSBFlCrDat = 512,
  65.  fsSBFlMdDat = 1024,
  66.  fsSBFlBkDat = 2048,
  67.  fsSBFlXFndrInfo = 4096,
  68.  fsSBFlParID = 8192,
  69.  fsSBNegate = 16384,
  70.  fsSBDrUsrWds = 8,
  71.  fsSBDrNmFls = 16,
  72.  fsSBDrCrDat = 512,
  73.  fsSBDrMdDat = 1024,
  74.  fsSBDrBkDat = 2048,
  75.  fsSBDrFndrInfo = 4096
  76. };
  77. enum {
  78.  fsSBDrParID = 8192,
  79.  
  80. /* vMAttrib (GetVolParms) bit position constants */
  81.  bLimitFCBs = 31,
  82.  bLocalWList = 30,
  83.  bNoMiniFndr = 29,
  84.  bNoVNEdit = 28,
  85.  bNoLclSync = 27,
  86.  bTrshOffLine = 26,
  87.  bNoSwitchTo = 25,
  88.  bNoDeskItems = 20,
  89.  bNoBootBlks = 19,
  90.  bAccessCntl = 18,
  91.  bNoSysDir = 17,
  92.  bHasExtFSVol = 16,
  93.  bHasOpenDeny = 15,
  94.  bHasCopyFile = 14,
  95.  bHasMoveRename = 13,
  96.  bHasDesktopMgr = 12,
  97.  bHasShortName = 11,
  98.  bHasFolderLock = 10,
  99.  bHasPersonalAccessPrivileges = 9
  100. };
  101. enum {
  102.  bHasUserGroupList = 8,
  103.  bHasCatSearch = 7,
  104.  bHasFileIDs = 6,
  105.  bHasBTreeMgr = 5,
  106.  bHasBlankAccessPrivileges = 4,
  107.  
  108. /* Desktop Database icon Constants */
  109.  kLargeIcon = 1,
  110.  kLarge4BitIcon = 2,
  111.  kLarge8BitIcon = 3,
  112.  kSmallIcon = 4,
  113.  kSmall4BitIcon = 5,
  114.  kSmall8BitIcon = 6,
  115.  
  116.  kLargeIconSize = 256,
  117.  kLarge4BitIconSize = 512,
  118.  kLarge8BitIconSize = 1024,
  119.  kSmallIconSize = 64,
  120.  kSmall4BitIconSize = 128,
  121.  kSmall8BitIconSize = 256,
  122.  
  123. /* Foreign Privilege Model Identifiers */
  124.  fsUnixPriv = 1,
  125.  
  126. /* Version Release Stage Codes */
  127.  developStage = 0x20,
  128.  alphaStage = 0x40
  129. };
  130. enum {
  131.  betaStage = 0x60,
  132.  finalStage = 0x80,
  133.  
  134. /* Authentication Constants */
  135.  kNoUserAuthentication = 1,
  136.  kPassword = 2,
  137.  kEncryptPassword = 3,
  138.  kTwoWayEncryptPassword = 6
  139. };
  140.  
  141. enum {hFileInfo,dirInfo};
  142. typedef unsigned char CInfoType;
  143.  
  144.  
  145. struct FInfo {
  146.  OSType fdType;                        /*the type of the file*/
  147.  OSType fdCreator;                    /*file's creator*/
  148.  unsigned short fdFlags;            /*flags ex. hasbundle,invisible,locked, etc.*/
  149.  Point fdLocation;                    /*file's location in folder*/
  150.  short fdFldr;                        /*folder containing file*/
  151. };
  152.  
  153. typedef struct FInfo FInfo;
  154.  
  155. struct FXInfo {
  156.  short fdIconID;                    /*Icon ID*/
  157.  short fdUnused[3];                    /*unused but reserved 6 bytes*/
  158.  char fdScript;                        /*Script flag and number*/
  159.  char fdXFlags;                        /*More flag bits*/
  160.  short fdComment;                    /*Comment ID*/
  161.  long fdPutAway;                    /*Home Dir ID*/
  162. };
  163.  
  164. typedef struct FXInfo FXInfo;
  165.  
  166. struct DInfo {
  167.  Rect frRect;                        /*folder rect*/
  168.  unsigned short frFlags;            /*Flags*/
  169.  Point frLocation;                    /*folder location*/
  170.  short frView;                        /*folder view*/
  171. };
  172.  
  173. typedef struct DInfo DInfo;
  174.  
  175. struct DXInfo {
  176.  Point frScroll;                    /*scroll position*/
  177.  long frOpenChain;                    /*DirID chain of open folders*/
  178.  char frScript;                        /*Script flag and number*/
  179.  char frXFlags;                        /*More flag bits*/
  180.  short frComment;                    /*comment*/
  181.  long frPutAway;                    /*DirID*/
  182. };
  183.  
  184. typedef struct DXInfo DXInfo;
  185.  
  186. struct GetVolParmsInfoBuffer {
  187.  short vMVersion;                    /*version number*/
  188.  long vMAttrib;                        /*bit vector of attributes (see vMAttrib constants)*/
  189.  Handle vMLocalHand;                /*handle to private data*/
  190.  long vMServerAdr;                    /*AppleTalk server address or zero*/
  191.  long vMVolumeGrade;                /*approx. speed rating or zero if unrated*/
  192.  short vMForeignPrivID;                /*foreign privilege model supported or zero if none*/
  193. };
  194.  
  195. typedef struct GetVolParmsInfoBuffer GetVolParmsInfoBuffer;
  196.  
  197. #define ParamBlockHeader \
  198.  QElemPtr qLink;                    /*queue link in header*/\
  199.  short qType;                        /*type byte for safety check*/\
  200.  short ioTrap;                        /*FS: the Trap*/\
  201.  Ptr ioCmdAddr;                        /*FS: address to dispatch to*/\
  202.  ProcPtr ioCompletion;              /*completion routine addr (0 for synch calls)*/\
  203.  OSErr ioResult;                    /*result code*/\
  204.  StringPtr ioNamePtr;                  /*ptr to Vol:FileName string*/\
  205.  short ioVRefNum;                   /*volume refnum (DrvNum for Eject and MountVol)*/
  206.  
  207.  
  208. struct IOParam {
  209.  ParamBlockHeader 
  210.  short ioRefNum;                    /*refNum for I/O operation*/
  211.  char ioVersNum;                    /*version number*/
  212.  char ioPermssn;                    /*Open: permissions (byte)*/
  213.  Ptr ioMisc;                        /*Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)*/
  214.  Ptr ioBuffer;                        /*data buffer Ptr*/
  215.  long ioReqCount;                    /*requested byte count; also = ioNewDirID*/
  216.  long ioActCount;                    /*actual byte count completed*/
  217.  short ioPosMode;                    /*initial file positioning*/
  218.  long ioPosOffset;                    /*file position offset*/
  219. };
  220.  
  221. typedef struct IOParam IOParam;
  222.  
  223. struct FileParam {
  224.  ParamBlockHeader 
  225.  short ioFRefNum;                    /*reference number*/
  226.  char ioFVersNum;                    /*version number*/
  227.  char filler1;
  228.  short ioFDirIndex;                    /*GetFInfo directory index*/
  229.  unsigned char ioFlAttrib;            /*GetFInfo: in-use bit=7, lock bit=0*/
  230.  unsigned char ioFlVersNum;            /*file version number*/
  231.  FInfo ioFlFndrInfo;                /*user info*/
  232.  unsigned long ioFlNum;                /*GetFInfo: file number; TF- ioDirID*/
  233.  unsigned short ioFlStBlk;            /*start file block (0 if none)*/
  234.  long ioFlLgLen;                    /*logical length (EOF)*/
  235.  long ioFlPyLen;                    /*physical length*/
  236.  unsigned short ioFlRStBlk;            /*start block rsrc fork*/
  237.  long ioFlRLgLen;                    /*file logical length rsrc fork*/
  238.  long ioFlRPyLen;                    /*file physical length rsrc fork*/
  239.  unsigned long ioFlCrDat;            /*file creation date& time (32 bits in secs)*/
  240.  unsigned long ioFlMdDat;            /*last modified date and time*/
  241. };
  242.  
  243. typedef struct FileParam FileParam;
  244.  
  245. struct VolumeParam {
  246.  ParamBlockHeader 
  247.  long filler2;
  248.  short ioVolIndex;                    /*volume index number*/
  249.  unsigned long ioVCrDate;            /*creation date and time*/
  250.  unsigned long ioVLsBkUp;            /*last backup date and time*/
  251.  unsigned short ioVAtrb;            /*volume attrib*/
  252.  unsigned short ioVNmFls;            /*number of files in directory*/
  253.  unsigned short ioVDirSt;            /*start block of file directory*/
  254.  short ioVBlLn;                        /*GetVolInfo: length of dir in blocks*/
  255.  unsigned short ioVNmAlBlks;        /*GetVolInfo: num blks (of alloc size)*/
  256.  long ioVAlBlkSiz;                    /*GetVolInfo: alloc blk byte size*/
  257.  long ioVClpSiz;                    /*GetVolInfo: bytes to allocate at a time*/
  258.  unsigned short ioAlBlSt;            /*starting disk(512-byte) block in block map*/
  259.  unsigned long ioVNxtFNum;            /*GetVolInfo: next free file number*/
  260.  unsigned short ioVFrBlk;            /*GetVolInfo: # free alloc blks for this vol*/
  261. };
  262.  
  263. typedef struct VolumeParam VolumeParam;
  264.  
  265. struct CntrlParam {
  266.  QElem *qLink;                        /*queue link in header*/
  267.  short qType;                        /*type byte for safety check*/
  268.  short ioTrap;                        /*FS: the Trap*/
  269.  Ptr ioCmdAddr;                        /*FS: address to dispatch to*/
  270.  ProcPtr ioCompletion;                /*completion routine addr (0 for synch calls)*/
  271.  OSErr ioResult;                    /*result code*/
  272.  StringPtr ioNamePtr;                /*ptr to Vol:FileName string*/
  273.  short ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  274.  short ioCRefNum;                    /*refNum for I/O operation*/
  275.  short csCode;                        /*word for control status code*/
  276.  short csParam[11];                    /*operation-defined parameters*/
  277. };
  278.  
  279. typedef struct CntrlParam CntrlParam;
  280.  
  281. struct SlotDevParam {
  282.  ParamBlockHeader 
  283.  short ioRefNum;
  284.  char ioVersNum;
  285.  char ioPermssn;
  286.  Ptr ioMix;
  287.  short ioFlags;
  288.  char ioSlot;
  289.  char ioID;
  290. };
  291.  
  292. typedef struct SlotDevParam SlotDevParam;
  293.  
  294. struct MultiDevParam {
  295.  ParamBlockHeader 
  296.  short ioRefNum;
  297.  char ioVersNum;
  298.  char ioPermssn;
  299.  Ptr ioMix;
  300.  short ioFlags;
  301.  Ptr ioSEBlkPtr;
  302. };
  303.  
  304. typedef struct MultiDevParam MultiDevParam;
  305.  
  306. union ParamBlockRec {
  307.  IOParam ioParam;
  308.  FileParam fileParam;
  309.  VolumeParam volumeParam;
  310.  CntrlParam cntrlParam;
  311.  SlotDevParam slotDevParam;
  312.  MultiDevParam multiDevParam;
  313. };
  314.  
  315. typedef union ParamBlockRec ParamBlockRec;
  316. typedef ParamBlockRec *ParmBlkPtr;
  317.  
  318. struct HFileInfo {
  319.  ParamBlockHeader 
  320.  short ioFRefNum;
  321.  char ioFVersNum;
  322.  char filler1;
  323.  short ioFDirIndex;
  324.  char ioFlAttrib;
  325.  char filler2;
  326.  FInfo ioFlFndrInfo;
  327.  long ioDirID;
  328.  unsigned short ioFlStBlk;
  329.  long ioFlLgLen;
  330.  long ioFlPyLen;
  331.  unsigned short ioFlRStBlk;
  332.  long ioFlRLgLen;
  333.  long ioFlRPyLen;
  334.  unsigned long ioFlCrDat;
  335.  unsigned long ioFlMdDat;
  336.  unsigned long ioFlBkDat;
  337.  FXInfo ioFlXFndrInfo;
  338.  long ioFlParID;
  339.  long ioFlClpSiz;
  340. };
  341.  
  342. typedef struct HFileInfo HFileInfo;
  343.  
  344. struct DirInfo {
  345.  ParamBlockHeader 
  346.  short ioFRefNum;
  347.  short filler1;
  348.  short ioFDirIndex;
  349.  char ioFlAttrib;
  350.  char filler2;
  351.  DInfo ioDrUsrWds;
  352.  long ioDrDirID;
  353.  unsigned short ioDrNmFls;
  354.  short filler3[9];
  355.  unsigned long ioDrCrDat;
  356.  unsigned long ioDrMdDat;
  357.  unsigned long ioDrBkDat;
  358.  DXInfo ioDrFndrInfo;
  359.  long ioDrParID;
  360. };
  361.  
  362. typedef struct DirInfo DirInfo;
  363.  
  364. union CInfoPBRec {
  365.  HFileInfo hFileInfo;
  366.  DirInfo dirInfo;
  367. };
  368.  
  369. typedef union CInfoPBRec CInfoPBRec;
  370. typedef CInfoPBRec *CInfoPBPtr;
  371.  
  372. struct HIOParam {
  373.  ParamBlockHeader 
  374.  short ioRefNum;
  375.  char ioVersNum;
  376.  char ioPermssn;
  377.  Ptr ioMisc;
  378.  Ptr ioBuffer;
  379.  long ioReqCount;
  380.  long ioActCount;
  381.  short ioPosMode;
  382.  long ioPosOffset;
  383.  short filler1;
  384. };
  385.  
  386. typedef struct HIOParam HIOParam;
  387.  
  388. struct HFileParam {
  389.  ParamBlockHeader 
  390.  short ioFRefNum;
  391.  char ioFVersNum;
  392.  char filler1;
  393.  short ioFDirIndex;
  394.  char ioFlAttrib;
  395.  char ioFlVersNum;
  396.  FInfo ioFlFndrInfo;
  397.  long ioDirID;
  398.  unsigned short ioFlStBlk;
  399.  long ioFlLgLen;
  400.  long ioFlPyLen;
  401.  unsigned short ioFlRStBlk;
  402.  long ioFlRLgLen;
  403.  long ioFlRPyLen;
  404.  unsigned long ioFlCrDat;
  405.  unsigned long ioFlMdDat;
  406. };
  407.  
  408. typedef struct HFileParam HFileParam;
  409.  
  410. struct HVolumeParam {
  411.  ParamBlockHeader 
  412.  long filler2;
  413.  short ioVolIndex;
  414.  unsigned long ioVCrDate;
  415.  unsigned long ioVLsMod;
  416.  short ioVAtrb;
  417.  unsigned short ioVNmFls;
  418.  short ioVBitMap;
  419.  short ioAllocPtr;
  420.  unsigned short ioVNmAlBlks;
  421.  long ioVAlBlkSiz;
  422.  long ioVClpSiz;
  423.  short ioAlBlSt;
  424.  long ioVNxtCNID;
  425.  unsigned short ioVFrBlk;
  426.  unsigned short ioVSigWord;
  427.  short ioVDrvInfo;
  428.  short ioVDRefNum;
  429.  short ioVFSID;
  430.  unsigned long ioVBkUp;
  431.  unsigned short ioVSeqNum;
  432.  long ioVWrCnt;
  433.  long ioVFilCnt;
  434.  long ioVDirCnt;
  435.  long ioVFndrInfo[8];
  436. };
  437.  
  438. typedef struct HVolumeParam HVolumeParam;
  439.  
  440. struct AccessParam {
  441.  ParamBlockHeader 
  442.  short filler3;
  443.  short ioDenyModes;                    /*access rights data*/
  444.  short filler4;
  445.  char filler5;
  446.  char ioACUser;                        /*access rights for directory only*/
  447.  long filler6;
  448.  long ioACOwnerID;                    /*owner ID*/
  449.  long ioACGroupID;                    /*group ID*/
  450.  long ioACAccess;                    /*access rights*/
  451. };
  452.  
  453. typedef struct AccessParam AccessParam;
  454.  
  455. struct ObjParam {
  456.  ParamBlockHeader 
  457.  short filler7;
  458.  short ioObjType;                    /*function code*/
  459.  StringPtr ioObjNamePtr;            /*ptr to returned creator/group name*/
  460.  long ioObjID;                        /*creator/group ID*/
  461.  long ioReqCount;                    /*size of buffer area*/
  462.  long ioActCount;                    /*length of vol parms data*/
  463. };
  464.  
  465. typedef struct ObjParam ObjParam;
  466.  
  467. struct CopyParam {
  468.  ParamBlockHeader 
  469.  short ioDstVRefNum;                /*destination vol identifier*/
  470.  short filler8;
  471.  StringPtr ioNewName;                /*ptr to destination pathname*/
  472.  StringPtr ioCopyName;                /*ptr to optional name*/
  473.  long ioNewDirID;                    /*destination directory ID*/
  474.  long filler14;
  475.  long filler15;
  476.  long ioDirID;                        /*same as in FileParam*/
  477. };
  478.  
  479. typedef struct CopyParam CopyParam;
  480.  
  481. struct WDParam {
  482.  ParamBlockHeader 
  483.  short filler9;
  484.  short ioWDIndex;
  485.  long ioWDProcID;
  486.  short ioWDVRefNum;
  487.  short filler10;
  488.  long filler11;
  489.  long filler12;
  490.  long filler13;
  491.  long ioWDDirID;
  492. };
  493.  
  494. typedef struct WDParam WDParam;
  495.  
  496. struct FIDParam {
  497.  ParamBlockHeader 
  498.  long filler1;
  499.  StringPtr ioDestNamePtr;            /* dest file name */
  500.  long filler2;
  501.  long ioDestDirID;                    /* dest file's directory id */
  502.  long filler3;
  503.  long filler4;
  504.  long ioSrcDirID;                    /* source file's directory id */
  505.  short filler5;
  506.  long ioFileID;                        /* file ID */
  507. };
  508.  
  509. typedef struct FIDParam FIDParam;
  510.  
  511. /* Catalog position record */
  512. struct CatPositionRec {
  513.  long initialize;
  514.  short priv[6];
  515. };
  516.  
  517. typedef struct CatPositionRec CatPositionRec;
  518.  
  519. struct FSSpec {
  520.  short vRefNum;
  521.  long parID;
  522.  Str63 name;
  523. };
  524.  
  525. typedef struct FSSpec FSSpec;
  526. typedef FSSpec *FSSpecPtr, **FSSpecHandle;
  527.  
  528.  
  529. typedef FSSpecPtr FSSpecArrayPtr;    /* pointer to array of FSSpecs */
  530. /* The following are structures to be filled out with the _GetVolMountInfo call
  531.  and passed back into the _VolumeMount call for external file system mounts. */
  532.  
  533. typedef OSType VolumeType;            /* the "signature" of the file system */
  534.  
  535.  
  536.  
  537.  
  538. #define AppleShareMediaType 'afpm'    /* the signature for AppleShare */
  539.  
  540. struct VolMountInfoHeader {
  541.  short length;                        /* length of location data (including self) */
  542.  VolumeType media;                    /* type of media.  Variable length data follows */
  543. };
  544.  
  545. typedef struct VolMountInfoHeader VolMountInfoHeader;
  546. typedef VolMountInfoHeader *VolMountInfoPtr;
  547.  
  548. struct AFPVolMountInfo {
  549.  short length;                        /* length of location data (including self) */
  550.  VolumeType media;                    /* type of media */
  551.  short flags;                        /* bits for no messages, no reconnect */
  552.  char nbpInterval;                    /* NBP Interval parameter (IM2, p.322) */
  553.  char nbpCount;                        /* NBP Interval parameter (IM2, p.322) */
  554.  short uamType;                        /* User Authentication Method */
  555.  short zoneNameOffset;                /* short positive offset from start of struct to Zone Name */
  556.  short serverNameOffset;            /* offset to pascal Server Name string */
  557.  short volNameOffset;                /* offset to pascal Volume Name string */
  558.  short userNameOffset;                /* offset to pascal User Name string */
  559.  short userPasswordOffset;            /* offset to pascal User Password string */
  560.  short volPasswordOffset;            /* offset to pascal Volume Password string */
  561.  char AFPData[144];                    /* variable length data may follow */
  562. };
  563.  
  564. typedef struct AFPVolMountInfo AFPVolMountInfo;
  565. typedef AFPVolMountInfo *AFPVolMountInfoPtr;
  566.  
  567. struct CSParam {
  568.  ParamBlockHeader 
  569.  FSSpecPtr ioMatchPtr;                /* match array */
  570.  long ioReqMatchCount;                /* maximum allowable matches */
  571.  long ioActMatchCount;                /* actual match count */
  572.  long ioSearchBits;                    /* search criteria selector */
  573.  CInfoPBPtr ioSearchInfo1;            /* search values and range lower bounds */
  574.  CInfoPBPtr ioSearchInfo2;            /* search values and range upper bounds */
  575.  long ioSearchTime;                    /* length of time to run search */
  576.  CatPositionRec ioCatPosition;        /* current position in the catalog */
  577.  Ptr ioOptBuffer;                    /* optional performance enhancement buffer */
  578.  long ioOptBufSize;                    /* size of buffer pointed to by ioOptBuffer */
  579. };
  580.  
  581. typedef struct CSParam CSParam;
  582. typedef CSParam *CSParamPtr;
  583.  
  584. struct DTPBRec {
  585.  ParamBlockHeader 
  586.  short ioDTRefNum;                    /* desktop refnum */
  587.  short ioIndex;
  588.  long ioTagInfo;
  589.  Ptr ioDTBuffer;
  590.  long ioDTReqCount;
  591.  long ioDTActCount;
  592.  char ioFiller1;
  593.  char ioIconType;
  594.  short ioFiller2;
  595.  long ioDirID;
  596.  OSType ioFileCreator;
  597.  OSType ioFileType;
  598.  long ioFiller3;
  599.  long ioDTLgLen;
  600.  long ioDTPyLen;
  601.  short ioFiller4[14];
  602.  long ioAPPLParID;
  603. };
  604.  
  605. typedef struct DTPBRec DTPBRec;
  606. typedef DTPBRec *DTPBPtr;
  607.  
  608. struct ForeignPrivParam {
  609.  ParamBlockHeader 
  610.  long ioFiller1;
  611.  long ioFiller2;
  612.  Ptr ioForeignPrivBuffer;
  613.  long ioForeignPrivActCount;
  614.  long ioForeignPrivReqCount;
  615.  long ioFiller3;
  616.  long ioForeignPrivDirID;
  617.  long ioForeignPrivInfo1;
  618.  long ioForeignPrivInfo2;
  619.  long ioForeignPrivInfo3;
  620.  long ioForeignPrivInfo4;
  621. };
  622.  
  623. typedef struct ForeignPrivParam ForeignPrivParam;
  624. typedef ForeignPrivParam *ForeignPrivParamPtr;
  625.  
  626. union HParamBlockRec {
  627.  HIOParam ioParam;
  628.  HFileParam fileParam;
  629.  HVolumeParam volumeParam;
  630.  AccessParam accessParam;
  631.  ObjParam objParam;
  632.  CopyParam copyParam;
  633.  WDParam wdParam;
  634.  FIDParam fidParam;
  635.  CSParam csParam;
  636.  ForeignPrivParam foreignPrivParam;
  637. };
  638.  
  639. typedef union HParamBlockRec HParamBlockRec;
  640. typedef HParamBlockRec *HParmBlkPtr;
  641.  
  642. struct CMovePBRec {
  643.  QElemPtr qLink;
  644.  short qType;
  645.  short ioTrap;
  646.  Ptr ioCmdAddr;
  647.  ProcPtr ioCompletion;
  648.  OSErr ioResult;
  649.  StringPtr ioNamePtr;
  650.  short ioVRefNum;
  651.  long filler1;
  652.  StringPtr ioNewName;
  653.  long filler2;
  654.  long ioNewDirID;
  655.  long filler3[2];
  656.  long ioDirID;
  657. };
  658.  
  659. typedef struct CMovePBRec CMovePBRec;
  660. typedef CMovePBRec *CMovePBPtr;
  661.  
  662. struct WDPBRec {
  663.  QElemPtr qLink;
  664.  short qType;
  665.  short ioTrap;
  666.  Ptr ioCmdAddr;
  667.  ProcPtr ioCompletion;
  668.  OSErr ioResult;
  669.  StringPtr ioNamePtr;
  670.  short ioVRefNum;
  671.  short filler1;
  672.  short ioWDIndex;
  673.  long ioWDProcID;
  674.  short ioWDVRefNum;
  675.  short filler2[7];
  676.  long ioWDDirID;
  677. };
  678.  
  679. typedef struct WDPBRec WDPBRec;
  680. typedef WDPBRec *WDPBPtr;
  681.  
  682. struct FCBPBRec {
  683.  QElemPtr qLink;
  684.  short qType;
  685.  short ioTrap;
  686.  Ptr ioCmdAddr;
  687.  ProcPtr ioCompletion;
  688.  OSErr ioResult;
  689.  StringPtr ioNamePtr;
  690.  short ioVRefNum;
  691.  short ioRefNum;
  692.  short filler;
  693.  short ioFCBIndx;
  694.  short filler1;
  695.  long ioFCBFlNm;
  696.  short ioFCBFlags;
  697.  unsigned short ioFCBStBlk;
  698.  long ioFCBEOF;
  699.  long ioFCBPLen;
  700.  long ioFCBCrPs;
  701.  short ioFCBVRefNum;
  702.  long ioFCBClpSiz;
  703.  long ioFCBParID;
  704. };
  705.  
  706. typedef struct FCBPBRec FCBPBRec;
  707. typedef FCBPBRec *FCBPBPtr;
  708.  
  709. struct VCB {
  710.  QElemPtr qLink;
  711.  short qType;
  712.  short vcbFlags;
  713.  unsigned short vcbSigWord;
  714.  unsigned long vcbCrDate;
  715.  unsigned long vcbLsMod;
  716.  short vcbAtrb;
  717.  unsigned short vcbNmFls;
  718.  short vcbVBMSt;
  719.  short vcbAllocPtr;
  720.  unsigned short vcbNmAlBlks;
  721.  long vcbAlBlkSiz;
  722.  long vcbClpSiz;
  723.  short vcbAlBlSt;
  724.  long vcbNxtCNID;
  725.  unsigned short vcbFreeBks;
  726.  Str27 vcbVN;
  727.  short vcbDrvNum;
  728.  short vcbDRefNum;
  729.  short vcbFSID;
  730.  short vcbVRefNum;
  731.  Ptr vcbMAdr;
  732.  Ptr vcbBufAdr;
  733.  short vcbMLen;
  734.  short vcbDirIndex;
  735.  short vcbDirBlk;
  736.  unsigned long vcbVolBkUp;
  737.  unsigned short vcbVSeqNum;
  738.  long vcbWrCnt;
  739.  long vcbXTClpSiz;
  740.  long vcbCTClpSiz;
  741.  unsigned short vcbNmRtDirs;
  742.  long vcbFilCnt;
  743.  long vcbDirCnt;
  744.  long vcbFndrInfo[8];
  745.  unsigned short vcbVCSize;
  746.  unsigned short vcbVBMCSiz;
  747.  unsigned short vcbCtlCSiz;
  748.  unsigned short vcbXTAlBlks;
  749.  unsigned short vcbCTAlBlks;
  750.  short vcbXTRef;
  751.  short vcbCTRef;
  752.  Ptr vcbCtlBuf;
  753.  long vcbDirIDM;
  754.  short vcbOffsM;
  755. };
  756.  
  757. typedef struct VCB VCB;
  758.  
  759. struct DrvQEl {
  760.  QElemPtr qLink;
  761.  short qType;
  762.  short dQDrive;
  763.  short dQRefNum;
  764.  short dQFSID;
  765.  unsigned short dQDrvSz;
  766.  unsigned short dQDrvSz2;
  767. };
  768.  
  769. typedef struct DrvQEl DrvQEl;
  770. typedef DrvQEl *DrvQElPtr;
  771.  
  772. /* Numeric version part of 'vers' resource */
  773. struct NumVersion {
  774.  unsigned char majorRev;            /*1st part of version number in BCD*/
  775.  unsigned int minorRev : 4;            /*2nd part is 1 nibble in BCD*/
  776.  unsigned int bugFixRev : 4;        /*3rd part is 1 nibble in BCD*/
  777.  unsigned char stage;                /*stage code: dev, alpha, beta, final*/
  778.  unsigned char nonRelRev;            /*revision level of non-released version*/
  779. };
  780.  
  781. typedef struct NumVersion NumVersion;
  782.  
  783. /* 'vers' resource format */
  784. struct VersRec {
  785.  NumVersion numericVersion;            /*encoded version number*/
  786.  short countryCode;                    /*country code from intl utilities*/
  787.  Str255 shortVersion;                /*version number string - worst case*/
  788.  Str255 reserved;                    /*longMessage string packed after shortVersion*/
  789. };
  790.  
  791. typedef struct VersRec VersRec;
  792. typedef VersRec *VersRecPtr, **VersRecHndl;
  793.  
  794.  
  795. #ifdef __cplusplus
  796. extern "C" {
  797. #endif
  798. pascal OSErr PBOpen(ParmBlkPtr paramBlock,Boolean async); 
  799. #pragma parameter __D0 PBOpenSync(__A0)
  800. pascal OSErr PBOpenSync(ParmBlkPtr paramBlock)
  801.  = 0xA000; 
  802. #pragma parameter __D0 PBOpenAsync(__A0)
  803. pascal OSErr PBOpenAsync(ParmBlkPtr paramBlock)
  804.  = 0xA400; 
  805. pascal OSErr PBClose(ParmBlkPtr paramBlock,Boolean async); 
  806. #pragma parameter __D0 PBCloseSync(__A0)
  807. pascal OSErr PBCloseSync(ParmBlkPtr paramBlock)
  808.  = 0xA001; 
  809. #pragma parameter __D0 PBCloseAsync(__A0)
  810. pascal OSErr PBCloseAsync(ParmBlkPtr paramBlock)
  811.  = 0xA401; 
  812. pascal OSErr PBRead(ParmBlkPtr paramBlock,Boolean async); 
  813. #pragma parameter __D0 PBReadSync(__A0)
  814. pascal OSErr PBReadSync(ParmBlkPtr paramBlock)
  815.  = 0xA002; 
  816. #pragma parameter __D0 PBReadAsync(__A0)
  817. pascal OSErr PBReadAsync(ParmBlkPtr paramBlock)
  818.  = 0xA402; 
  819. pascal OSErr PBWrite(ParmBlkPtr paramBlock,Boolean async); 
  820. #pragma parameter __D0 PBWriteSync(__A0)
  821. pascal OSErr PBWriteSync(ParmBlkPtr paramBlock)
  822.  = 0xA003; 
  823. #pragma parameter __D0 PBWriteAsync(__A0)
  824. pascal OSErr PBWriteAsync(ParmBlkPtr paramBlock)
  825.  = 0xA403; 
  826. pascal OSErr PBGetVInfo(ParmBlkPtr paramBlock,Boolean async); 
  827. #pragma parameter __D0 PBGetVInfoSync(__A0)
  828. pascal OSErr PBGetVInfoSync(ParmBlkPtr paramBlock)
  829.  = 0xA007; 
  830. #pragma parameter __D0 PBGetVInfoAsync(__A0)
  831. pascal OSErr PBGetVInfoAsync(ParmBlkPtr paramBlock)
  832.  = 0xA407; 
  833. pascal OSErr PBGetVol(ParmBlkPtr paramBlock,Boolean async); 
  834. #pragma parameter __D0 PBGetVolSync(__A0)
  835. pascal OSErr PBGetVolSync(ParmBlkPtr paramBlock)
  836.  = 0xA014; 
  837. #pragma parameter __D0 PBGetVolAsync(__A0)
  838. pascal OSErr PBGetVolAsync(ParmBlkPtr paramBlock)
  839.  = 0xA414; 
  840. pascal OSErr PBSetVol(ParmBlkPtr paramBlock,Boolean async); 
  841. #pragma parameter __D0 PBSetVolSync(__A0)
  842. pascal OSErr PBSetVolSync(ParmBlkPtr paramBlock)
  843.  = 0xA015; 
  844. #pragma parameter __D0 PBSetVolAsync(__A0)
  845. pascal OSErr PBSetVolAsync(ParmBlkPtr paramBlock)
  846.  = 0xA415; 
  847. pascal OSErr PBFlushVol(ParmBlkPtr paramBlock,Boolean async); 
  848. #pragma parameter __D0 PBFlushVolSync(__A0)
  849. pascal OSErr PBFlushVolSync(ParmBlkPtr paramBlock)
  850.  = 0xA013; 
  851. #pragma parameter __D0 PBFlushVolAsync(__A0)
  852. pascal OSErr PBFlushVolAsync(ParmBlkPtr paramBlock)
  853.  = 0xA413; 
  854. pascal OSErr PBCreate(ParmBlkPtr paramBlock,Boolean async); 
  855. #pragma parameter __D0 PBCreateSync(__A0)
  856. pascal OSErr PBCreateSync(ParmBlkPtr paramBlock)
  857.  = 0xA008; 
  858. #pragma parameter __D0 PBCreateAsync(__A0)
  859. pascal OSErr PBCreateAsync(ParmBlkPtr paramBlock)
  860.  = 0xA408; 
  861. pascal OSErr PBDelete(ParmBlkPtr paramBlock,Boolean async); 
  862. #pragma parameter __D0 PBDeleteSync(__A0)
  863. pascal OSErr PBDeleteSync(ParmBlkPtr paramBlock)
  864.  = 0xA009; 
  865. #pragma parameter __D0 PBDeleteAsync(__A0)
  866. pascal OSErr PBDeleteAsync(ParmBlkPtr paramBlock)
  867.  = 0xA409; 
  868. pascal OSErr PBOpenDF(ParmBlkPtr paramBlock,Boolean async); 
  869. #pragma parameter __D0 PBOpenDFSync(__A0)
  870. pascal OSErr PBOpenDFSync(ParmBlkPtr paramBlock)
  871.  = {0x701A,0xA060}; 
  872. #pragma parameter __D0 PBOpenDFAsync(__A0)
  873. pascal OSErr PBOpenDFAsync(ParmBlkPtr paramBlock)
  874.  = {0x701A,0xA460}; 
  875. pascal OSErr PBOpenRF(ParmBlkPtr paramBlock,Boolean async); 
  876. #pragma parameter __D0 PBOpenRFSync(__A0)
  877. pascal OSErr PBOpenRFSync(ParmBlkPtr paramBlock)
  878.  = 0xA00A; 
  879. #pragma parameter __D0 PBOpenRFAsync(__A0)
  880. pascal OSErr PBOpenRFAsync(ParmBlkPtr paramBlock)
  881.  = 0xA40A; 
  882. pascal OSErr PBRename(ParmBlkPtr paramBlock,Boolean async); 
  883. #pragma parameter __D0 PBRenameSync(__A0)
  884. pascal OSErr PBRenameSync(ParmBlkPtr paramBlock)
  885.  = 0xA00B; 
  886. #pragma parameter __D0 PBRenameAsync(__A0)
  887. pascal OSErr PBRenameAsync(ParmBlkPtr paramBlock)
  888.  = 0xA40B; 
  889. pascal OSErr PBGetFInfo(ParmBlkPtr paramBlock,Boolean async); 
  890. #pragma parameter __D0 PBGetFInfoSync(__A0)
  891. pascal OSErr PBGetFInfoSync(ParmBlkPtr paramBlock)
  892.  = 0xA00C; 
  893. #pragma parameter __D0 PBGetFInfoAsync(__A0)
  894. pascal OSErr PBGetFInfoAsync(ParmBlkPtr paramBlock)
  895.  = 0xA40C; 
  896. pascal OSErr PBSetFInfo(ParmBlkPtr paramBlock,Boolean async); 
  897. #pragma parameter __D0 PBSetFInfoSync(__A0)
  898. pascal OSErr PBSetFInfoSync(ParmBlkPtr paramBlock)
  899.  = 0xA00D; 
  900. #pragma parameter __D0 PBSetFInfoAsync(__A0)
  901. pascal OSErr PBSetFInfoAsync(ParmBlkPtr paramBlock)
  902.  = 0xA40D; 
  903. pascal OSErr PBSetFLock(ParmBlkPtr paramBlock,Boolean async); 
  904. #pragma parameter __D0 PBSetFLockSync(__A0)
  905. pascal OSErr PBSetFLockSync(ParmBlkPtr paramBlock)
  906.  = 0xA041; 
  907. #pragma parameter __D0 PBSetFLockAsync(__A0)
  908. pascal OSErr PBSetFLockAsync(ParmBlkPtr paramBlock)
  909.  = 0xA441; 
  910. pascal OSErr PBRstFLock(ParmBlkPtr paramBlock,Boolean async); 
  911. #pragma parameter __D0 PBRstFLockSync(__A0)
  912. pascal OSErr PBRstFLockSync(ParmBlkPtr paramBlock)
  913.  = 0xA042; 
  914. #pragma parameter __D0 PBRstFLockAsync(__A0)
  915. pascal OSErr PBRstFLockAsync(ParmBlkPtr paramBlock)
  916.  = 0xA442; 
  917. pascal OSErr PBSetFVers(ParmBlkPtr paramBlock,Boolean async); 
  918. #pragma parameter __D0 PBSetFVersSync(__A0)
  919. pascal OSErr PBSetFVersSync(ParmBlkPtr paramBlock)
  920.  = 0xA043; 
  921. #pragma parameter __D0 PBSetFVersAsync(__A0)
  922. pascal OSErr PBSetFVersAsync(ParmBlkPtr paramBlock)
  923.  = 0xA443; 
  924. pascal OSErr PBAllocate(ParmBlkPtr paramBlock,Boolean async); 
  925. #pragma parameter __D0 PBAllocateSync(__A0)
  926. pascal OSErr PBAllocateSync(ParmBlkPtr paramBlock)
  927.  = 0xA010; 
  928. #pragma parameter __D0 PBAllocateAsync(__A0)
  929. pascal OSErr PBAllocateAsync(ParmBlkPtr paramBlock)
  930.  = 0xA410; 
  931. pascal OSErr PBGetEOF(ParmBlkPtr paramBlock,Boolean async); 
  932. #pragma parameter __D0 PBGetEOFSync(__A0)
  933. pascal OSErr PBGetEOFSync(ParmBlkPtr paramBlock)
  934.  = 0xA011; 
  935. #pragma parameter __D0 PBGetEOFAsync(__A0)
  936. pascal OSErr PBGetEOFAsync(ParmBlkPtr paramBlock)
  937.  = 0xA411; 
  938. pascal OSErr PBSetEOF(ParmBlkPtr paramBlock,Boolean async); 
  939. #pragma parameter __D0 PBSetEOFSync(__A0)
  940. pascal OSErr PBSetEOFSync(ParmBlkPtr paramBlock)
  941.  = 0xA012; 
  942. #pragma parameter __D0 PBSetEOFAsync(__A0)
  943. pascal OSErr PBSetEOFAsync(ParmBlkPtr paramBlock)
  944.  = 0xA412; 
  945. pascal OSErr PBGetFPos(ParmBlkPtr paramBlock,Boolean async); 
  946. #pragma parameter __D0 PBGetFPosSync(__A0)
  947. pascal OSErr PBGetFPosSync(ParmBlkPtr paramBlock)
  948.  = 0xA018; 
  949. #pragma parameter __D0 PBGetFPosAsync(__A0)
  950. pascal OSErr PBGetFPosAsync(ParmBlkPtr paramBlock)
  951.  = 0xA418; 
  952. pascal OSErr PBSetFPos(ParmBlkPtr paramBlock,Boolean async); 
  953. #pragma parameter __D0 PBSetFPosSync(__A0)
  954. pascal OSErr PBSetFPosSync(ParmBlkPtr paramBlock)
  955.  = 0xA044; 
  956. #pragma parameter __D0 PBSetFPosAsync(__A0)
  957. pascal OSErr PBSetFPosAsync(ParmBlkPtr paramBlock)
  958.  = 0xA444; 
  959. pascal OSErr PBFlushFile(ParmBlkPtr paramBlock,Boolean async); 
  960. #pragma parameter __D0 PBFlushFileSync(__A0)
  961. pascal OSErr PBFlushFileSync(ParmBlkPtr paramBlock)
  962.  = 0xA045; 
  963. #pragma parameter __D0 PBFlushFileAsync(__A0)
  964. pascal OSErr PBFlushFileAsync(ParmBlkPtr paramBlock)
  965.  = 0xA445; 
  966. #pragma parameter __D0 PBMountVol(__A0)
  967. pascal OSErr PBMountVol(ParmBlkPtr paramBlock)
  968.  = 0xA00F; 
  969. #pragma parameter __D0 PBUnmountVol(__A0)
  970. pascal OSErr PBUnmountVol(ParmBlkPtr paramBlock)
  971.  = 0xA00E; 
  972. #pragma parameter __D0 PBEject(__A0)
  973. pascal OSErr PBEject(ParmBlkPtr paramBlock)
  974.  = 0xA017; 
  975. #pragma parameter __D0 PBOffLine(__A0)
  976. pascal OSErr PBOffLine(ParmBlkPtr paramBlock)
  977.  = 0xA035; 
  978.  
  979. pascal OSErr PBCatSearch(CSParamPtr paramBlock,Boolean async); 
  980. #pragma parameter __D0 PBCatSearchSync(__A0)
  981. pascal OSErr PBCatSearchSync(CSParamPtr paramBlock)
  982.  = {0x7018,0xA260}; 
  983. #pragma parameter __D0 PBCatSearchAsync(__A0)
  984. pascal OSErr PBCatSearchAsync(CSParamPtr paramBlock)
  985.  = {0x7018,0xA660}; 
  986.  
  987. pascal void AddDrive(short drvrRefNum,short drvNum,DrvQElPtr qEl); 
  988. pascal OSErr FSOpen(ConstStr255Param fileName,short vRefNum,short *refNum); 
  989. pascal OSErr OpenDF(ConstStr255Param fileName,short vRefNum,short *refNum); 
  990. OSErr fsopen(char *fileName,short vRefNum,short *refNum); 
  991. pascal OSErr FSClose(short refNum); 
  992. pascal OSErr FSRead(short refNum,long *count,void *buffPtr); 
  993. pascal OSErr FSWrite(short refNum,long *count,const void *buffPtr); 
  994. pascal OSErr GetVInfo(short drvNum,StringPtr volName,short *vRefNum,long *freeBytes); 
  995. OSErr getvinfo(short drvNum,char *volName,short *vRefNum,long *freeBytes); 
  996. pascal OSErr GetFInfo(ConstStr255Param fileName,short vRefNum,FInfo *fndrInfo); 
  997. OSErr getfinfo(char *fileName,short vRefNum,FInfo *fndrInfo); 
  998. pascal OSErr GetVol(StringPtr volName,short *vRefNum); 
  999. OSErr getvol(char *volName,short *vRefNum); 
  1000. pascal OSErr SetVol(StringPtr volName,short vRefNum); 
  1001. OSErr setvol(char *volName,short vRefNum); 
  1002. pascal OSErr UnmountVol(StringPtr volName,short vRefNum); 
  1003. OSErr unmountvol(char *volName,short vRefNum); 
  1004. pascal OSErr Eject(StringPtr volName,short vRefNum); 
  1005. OSErr eject(char *volName,short vRefNum); 
  1006. pascal OSErr FlushVol(StringPtr volName,short vRefNum); 
  1007. OSErr flushvol(char *volName,short vRefNum); 
  1008. pascal OSErr Create(ConstStr255Param fileName,short vRefNum,OSType creator,
  1009.  OSType fileType); 
  1010. OSErr create(char *fileName,short vRefNum,OSType creator,OSType fileType); 
  1011. pascal OSErr FSDelete(ConstStr255Param fileName,short vRefNum); 
  1012. OSErr fsdelete(char *fileName,short vRefNum); 
  1013. pascal OSErr OpenRF(ConstStr255Param fileName,short vRefNum,short *refNum); 
  1014. OSErr openrf(char *fileName,short vRefNum,short *refNum); 
  1015. pascal OSErr Rename(ConstStr255Param oldName,short vRefNum,ConstStr255Param newName); 
  1016. OSErr fsrename(char *oldName,short vRefNum,char *newName); 
  1017. pascal OSErr SetFInfo(ConstStr255Param fileName,short vRefNum,const FInfo *fndrInfo); 
  1018. OSErr setfinfo(char *fileName,short vRefNum,FInfo *fndrInfo); 
  1019. pascal OSErr SetFLock(ConstStr255Param fileName,short vRefNum); 
  1020. OSErr setflock(char *fileName,short vRefNum); 
  1021. pascal OSErr RstFLock(ConstStr255Param fileName,short vRefNum); 
  1022. OSErr rstflock(char *fileName,short vRefNum); 
  1023. pascal OSErr Allocate(short refNum,long *count); 
  1024. pascal OSErr GetEOF(short refNum,long *logEOF); 
  1025. pascal OSErr SetEOF(short refNum,long logEOF); 
  1026. pascal OSErr GetFPos(short refNum,long *filePos); 
  1027. pascal OSErr SetFPos(short refNum,short posMode,long posOff); 
  1028. pascal OSErr GetVRefNum(short fileRefNum,short *vRefNum); 
  1029.  
  1030. pascal OSErr PBOpenWD(WDPBPtr paramBlock,Boolean async); 
  1031. #pragma parameter __D0 PBOpenWDSync(__A0)
  1032. pascal OSErr PBOpenWDSync(WDPBPtr paramBlock)
  1033.  = {0x7001,0xA260}; 
  1034. #pragma parameter __D0 PBOpenWDAsync(__A0)
  1035. pascal OSErr PBOpenWDAsync(WDPBPtr paramBlock)
  1036.  = {0x7001,0xA660}; 
  1037. pascal OSErr PBCloseWD(WDPBPtr paramBlock,Boolean async); 
  1038. #pragma parameter __D0 PBCloseWDSync(__A0)
  1039. pascal OSErr PBCloseWDSync(WDPBPtr paramBlock)
  1040.  = {0x7002,0xA260}; 
  1041. #pragma parameter __D0 PBCloseWDAsync(__A0)
  1042. pascal OSErr PBCloseWDAsync(WDPBPtr paramBlock)
  1043.  = {0x7002,0xA660}; 
  1044. pascal OSErr PBHSetVol(WDPBPtr paramBlock,Boolean async); 
  1045. #pragma parameter __D0 PBHSetVolSync(__A0)
  1046. pascal OSErr PBHSetVolSync(WDPBPtr paramBlock)
  1047.  = 0xA215; 
  1048. #pragma parameter __D0 PBHSetVolAsync(__A0)
  1049. pascal OSErr PBHSetVolAsync(WDPBPtr paramBlock)
  1050.  = 0xA615; 
  1051. pascal OSErr PBHGetVol(WDPBPtr paramBlock,Boolean async); 
  1052. #pragma parameter __D0 PBHGetVolSync(__A0)
  1053. pascal OSErr PBHGetVolSync(WDPBPtr paramBlock)
  1054.  = 0xA214; 
  1055. #pragma parameter __D0 PBHGetVolAsync(__A0)
  1056. pascal OSErr PBHGetVolAsync(WDPBPtr paramBlock)
  1057.  = 0xA614; 
  1058. pascal OSErr PBCatMove(CMovePBPtr paramBlock,Boolean async); 
  1059. #pragma parameter __D0 PBCatMoveSync(__A0)
  1060. pascal OSErr PBCatMoveSync(CMovePBPtr paramBlock)
  1061.  = {0x7005,0xA260}; 
  1062. #pragma parameter __D0 PBCatMoveAsync(__A0)
  1063. pascal OSErr PBCatMoveAsync(CMovePBPtr paramBlock)
  1064.  = {0x7005,0xA660}; 
  1065. pascal OSErr PBDirCreate(HParmBlkPtr paramBlock,Boolean async); 
  1066. #pragma parameter __D0 PBDirCreateSync(__A0)
  1067. pascal OSErr PBDirCreateSync(HParmBlkPtr paramBlock)
  1068.  = {0x7006,0xA260}; 
  1069. #pragma parameter __D0 PBDirCreateAsync(__A0)
  1070. pascal OSErr PBDirCreateAsync(HParmBlkPtr paramBlock)
  1071.  = {0x7006,0xA660}; 
  1072. pascal OSErr PBGetWDInfo(WDPBPtr paramBlock,Boolean async); 
  1073. #pragma parameter __D0 PBGetWDInfoSync(__A0)
  1074. pascal OSErr PBGetWDInfoSync(WDPBPtr paramBlock)
  1075.  = {0x7007,0xA260}; 
  1076. #pragma parameter __D0 PBGetWDInfoAsync(__A0)
  1077. pascal OSErr PBGetWDInfoAsync(WDPBPtr paramBlock)
  1078.  = {0x7007,0xA660}; 
  1079. pascal OSErr PBGetFCBInfo(FCBPBPtr paramBlock,Boolean async); 
  1080. #pragma parameter __D0 PBGetFCBInfoSync(__A0)
  1081. pascal OSErr PBGetFCBInfoSync(FCBPBPtr paramBlock)
  1082.  = {0x7008,0xA260}; 
  1083. #pragma parameter __D0 PBGetFCBInfoAsync(__A0)
  1084. pascal OSErr PBGetFCBInfoAsync(FCBPBPtr paramBlock)
  1085.  = {0x7008,0xA660}; 
  1086. pascal OSErr PBGetCatInfo(CInfoPBPtr paramBlock,Boolean async); 
  1087. #pragma parameter __D0 PBGetCatInfoSync(__A0)
  1088. pascal OSErr PBGetCatInfoSync(CInfoPBPtr paramBlock)
  1089.  = {0x7009,0xA260}; 
  1090. #pragma parameter __D0 PBGetCatInfoAsync(__A0)
  1091. pascal OSErr PBGetCatInfoAsync(CInfoPBPtr paramBlock)
  1092.  = {0x7009,0xA660}; 
  1093. pascal OSErr PBSetCatInfo(CInfoPBPtr paramBlock,Boolean async); 
  1094. #pragma parameter __D0 PBSetCatInfoSync(__A0)
  1095. pascal OSErr PBSetCatInfoSync(CInfoPBPtr paramBlock)
  1096.  = {0x700A,0xA260}; 
  1097. #pragma parameter __D0 PBSetCatInfoAsync(__A0)
  1098. pascal OSErr PBSetCatInfoAsync(CInfoPBPtr paramBlock)
  1099.  = {0x700A,0xA660}; 
  1100.  
  1101. pascal OSErr PBAllocContig(ParmBlkPtr paramBlock,Boolean async); 
  1102. #pragma parameter __D0 PBAllocContigSync(__A0)
  1103. pascal OSErr PBAllocContigSync(ParmBlkPtr paramBlock)
  1104.  = 0xA210; 
  1105. #pragma parameter __D0 PBAllocContigAsync(__A0)
  1106. pascal OSErr PBAllocContigAsync(ParmBlkPtr paramBlock)
  1107.  = 0xA610; 
  1108. pascal OSErr PBLockRange(ParmBlkPtr paramBlock,Boolean async); 
  1109. #pragma parameter __D0 PBLockRangeSync(__A0)
  1110. pascal OSErr PBLockRangeSync(ParmBlkPtr paramBlock)
  1111.  = {0x7010,0xA260}; 
  1112. #pragma parameter __D0 PBLockRangeAsync(__A0)
  1113. pascal OSErr PBLockRangeAsync(ParmBlkPtr paramBlock)
  1114.  = {0x7010,0xA660}; 
  1115. pascal OSErr PBUnlockRange(ParmBlkPtr paramBlock,Boolean async); 
  1116. #pragma parameter __D0 PBUnlockRangeSync(__A0)
  1117. pascal OSErr PBUnlockRangeSync(ParmBlkPtr paramBlock)
  1118.  = {0x7011,0xA260}; 
  1119. #pragma parameter __D0 PBUnlockRangeAsync(__A0)
  1120. pascal OSErr PBUnlockRangeAsync(ParmBlkPtr paramBlock)
  1121.  = {0x7011,0xA660}; 
  1122. pascal OSErr PBSetVInfo(HParmBlkPtr paramBlock,Boolean async); 
  1123. #pragma parameter __D0 PBSetVInfoSync(__A0)
  1124. pascal OSErr PBSetVInfoSync(HParmBlkPtr paramBlock)
  1125.  = {0x700B,0xA260}; 
  1126. #pragma parameter __D0 PBSetVInfoAsync(__A0)
  1127. pascal OSErr PBSetVInfoAsync(HParmBlkPtr paramBlock)
  1128.  = {0x700B,0xA660}; 
  1129. pascal OSErr PBHGetVInfo(HParmBlkPtr paramBlock,Boolean async); 
  1130. #pragma parameter __D0 PBHGetVInfoSync(__A0)
  1131. pascal OSErr PBHGetVInfoSync(HParmBlkPtr paramBlock)
  1132.  = 0xA207; 
  1133. #pragma parameter __D0 PBHGetVInfoAsync(__A0)
  1134. pascal OSErr PBHGetVInfoAsync(HParmBlkPtr paramBlock)
  1135.  = 0xA607; 
  1136. pascal OSErr PBHOpen(HParmBlkPtr paramBlock,Boolean async); 
  1137. #pragma parameter __D0 PBHOpenSync(__A0)
  1138. pascal OSErr PBHOpenSync(HParmBlkPtr paramBlock)
  1139.  = 0xA200; 
  1140. #pragma parameter __D0 PBHOpenAsync(__A0)
  1141. pascal OSErr PBHOpenAsync(HParmBlkPtr paramBlock)
  1142.  = 0xA600; 
  1143. pascal OSErr PBHOpenRF(HParmBlkPtr paramBlock,Boolean async); 
  1144. #pragma parameter __D0 PBHOpenRFSync(__A0)
  1145. pascal OSErr PBHOpenRFSync(HParmBlkPtr paramBlock)
  1146.  = 0xA20A; 
  1147. #pragma parameter __D0 PBHOpenRFAsync(__A0)
  1148. pascal OSErr PBHOpenRFAsync(HParmBlkPtr paramBlock)
  1149.  = 0xA60A; 
  1150. pascal OSErr PBHOpenDF(HParmBlkPtr paramBlock,Boolean async); 
  1151. #pragma parameter __D0 PBHOpenDFSync(__A0)
  1152. pascal OSErr PBHOpenDFSync(HParmBlkPtr paramBlock)
  1153.  = {0x701A,0xA260}; 
  1154. #pragma parameter __D0 PBHOpenDFAsync(__A0)
  1155. pascal OSErr PBHOpenDFAsync(HParmBlkPtr paramBlock)
  1156.  = {0x701A,0xA660}; 
  1157.  
  1158. pascal OSErr PBHCreate(HParmBlkPtr paramBlock,Boolean async); 
  1159. #pragma parameter __D0 PBHCreateSync(__A0)
  1160. pascal OSErr PBHCreateSync(HParmBlkPtr paramBlock)
  1161.  = 0xA208; 
  1162. #pragma parameter __D0 PBHCreateAsync(__A0)
  1163. pascal OSErr PBHCreateAsync(HParmBlkPtr paramBlock)
  1164.  = 0xA608; 
  1165. pascal OSErr PBHDelete(HParmBlkPtr paramBlock,Boolean async); 
  1166. #pragma parameter __D0 PBHDeleteSync(__A0)
  1167. pascal OSErr PBHDeleteSync(HParmBlkPtr paramBlock)
  1168.  = 0xA209; 
  1169. #pragma parameter __D0 PBHDeleteAsync(__A0)
  1170. pascal OSErr PBHDeleteAsync(HParmBlkPtr paramBlock)
  1171.  = 0xA609; 
  1172. pascal OSErr PBHRename(HParmBlkPtr paramBlock,Boolean async); 
  1173. #pragma parameter __D0 PBHRenameSync(__A0)
  1174. pascal OSErr PBHRenameSync(HParmBlkPtr paramBlock)
  1175.  = 0xA20B; 
  1176. #pragma parameter __D0 PBHRenameAsync(__A0)
  1177. pascal OSErr PBHRenameAsync(HParmBlkPtr paramBlock)
  1178.  = 0xA60B; 
  1179. pascal OSErr PBHRstFLock(HParmBlkPtr paramBlock,Boolean async); 
  1180. #pragma parameter __D0 PBHRstFLockSync(__A0)
  1181. pascal OSErr PBHRstFLockSync(HParmBlkPtr paramBlock)
  1182.  = 0xA242; 
  1183. #pragma parameter __D0 PBHRstFLockAsync(__A0)
  1184. pascal OSErr PBHRstFLockAsync(HParmBlkPtr paramBlock)
  1185.  = 0xA642; 
  1186. pascal OSErr PBHSetFLock(HParmBlkPtr paramBlock,Boolean async); 
  1187. #pragma parameter __D0 PBHSetFLockSync(__A0)
  1188. pascal OSErr PBHSetFLockSync(HParmBlkPtr paramBlock)
  1189.  = 0xA241; 
  1190. #pragma parameter __D0 PBHSetFLockAsync(__A0)
  1191. pascal OSErr PBHSetFLockAsync(HParmBlkPtr paramBlock)
  1192.  = 0xA641; 
  1193. pascal OSErr PBHGetFInfo(HParmBlkPtr paramBlock,Boolean async); 
  1194. #pragma parameter __D0 PBHGetFInfoSync(__A0)
  1195. pascal OSErr PBHGetFInfoSync(HParmBlkPtr paramBlock)
  1196.  = 0xA20C; 
  1197. #pragma parameter __D0 PBHGetFInfoAsync(__A0)
  1198. pascal OSErr PBHGetFInfoAsync(HParmBlkPtr paramBlock)
  1199.  = 0xA60C; 
  1200. pascal OSErr PBHSetFInfo(HParmBlkPtr paramBlock,Boolean async); 
  1201. #pragma parameter __D0 PBHSetFInfoSync(__A0)
  1202. pascal OSErr PBHSetFInfoSync(HParmBlkPtr paramBlock)
  1203.  = 0xA20D; 
  1204. #pragma parameter __D0 PBHSetFInfoAsync(__A0)
  1205. pascal OSErr PBHSetFInfoAsync(HParmBlkPtr paramBlock)
  1206.  = 0xA60D; 
  1207.  
  1208. pascal OSErr PBMakeFSSpec(HParmBlkPtr paramBlock,Boolean async); 
  1209. #pragma parameter __D0 PBMakeFSSpecSync(__A0)
  1210. pascal OSErr PBMakeFSSpecSync(HParmBlkPtr paramBlock)
  1211.  = {0x701B,0xA260}; 
  1212. #pragma parameter __D0 PBMakeFSSpecAsync(__A0)
  1213. pascal OSErr PBMakeFSSpecAsync(HParmBlkPtr paramBlock)
  1214.  = {0x701B,0xA660}; 
  1215.  
  1216. pascal void FInitQueue(void)
  1217.  = 0xA016; 
  1218. #define GetFSQHdr() ((QHdrPtr) 0x0360)
  1219. #define GetDrvQHdr() ((QHdrPtr) 0x0308)
  1220. #define GetVCBQHdr() ((QHdrPtr) 0x0356)
  1221. pascal OSErr HGetVol(StringPtr volName,short *vRefNum,long *dirID); 
  1222. pascal OSErr HSetVol(StringPtr volName,short vRefNum,long dirID); 
  1223. pascal OSErr HOpen(short vRefNum,long dirID,ConstStr255Param fileName,char permission,
  1224.  short *refNum); 
  1225. pascal OSErr HOpenDF(short vRefNum,long dirID,ConstStr255Param fileName,
  1226.  char permission,short *refNum); 
  1227. pascal OSErr HOpenRF(short vRefNum,long dirID,ConstStr255Param fileName,
  1228.  char permission,short *refNum); 
  1229. pascal OSErr AllocContig(short refNum,long *count); 
  1230. pascal OSErr HCreate(short vRefNum,long dirID,ConstStr255Param fileName,
  1231.  OSType creator,OSType fileType); 
  1232. pascal OSErr DirCreate(short vRefNum,long parentDirID,ConstStr255Param directoryName,
  1233.  long *createdDirID); 
  1234. pascal OSErr HDelete(short vRefNum,long dirID,ConstStr255Param fileName); 
  1235. pascal OSErr HGetFInfo(short vRefNum,long dirID,ConstStr255Param fileName,
  1236.  FInfo *fndrInfo); 
  1237. pascal OSErr HSetFInfo(short vRefNum,long dirID,ConstStr255Param fileName,
  1238.  const FInfo *fndrInfo); 
  1239. pascal OSErr HSetFLock(short vRefNum,long dirID,ConstStr255Param fileName); 
  1240. pascal OSErr HRstFLock(short vRefNum,long dirID,ConstStr255Param fileName); 
  1241. pascal OSErr HRename(short vRefNum,long dirID,ConstStr255Param oldName,
  1242.  ConstStr255Param newName); 
  1243. pascal OSErr CatMove(short vRefNum,long dirID,ConstStr255Param oldName,
  1244.  long newDirID,ConstStr255Param newName); 
  1245. pascal OSErr OpenWD(short vRefNum,long dirID,long procID,short *wdRefNum); 
  1246. pascal OSErr CloseWD(short wdRefNum); 
  1247. pascal OSErr GetWDInfo(short wdRefNum,short *vRefNum,long *dirID,long *procID); 
  1248. /*  shared environment  */
  1249. pascal OSErr PBHGetVolParms(HParmBlkPtr paramBlock,Boolean async); 
  1250. #pragma parameter __D0 PBHGetVolParmsSync(__A0)
  1251. pascal OSErr PBHGetVolParmsSync(HParmBlkPtr paramBlock)
  1252.  = {0x7030,0xA260}; 
  1253. #pragma parameter __D0 PBHGetVolParmsAsync(__A0)
  1254. pascal OSErr PBHGetVolParmsAsync(HParmBlkPtr paramBlock)
  1255.  = {0x7030,0xA660}; 
  1256. pascal OSErr PBHGetLogInInfo(HParmBlkPtr paramBlock,Boolean async); 
  1257. #pragma parameter __D0 PBHGetLogInInfoSync(__A0)
  1258. pascal OSErr PBHGetLogInInfoSync(HParmBlkPtr paramBlock)
  1259.  = {0x7031,0xA260}; 
  1260. #pragma parameter __D0 PBHGetLogInInfoAsync(__A0)
  1261. pascal OSErr PBHGetLogInInfoAsync(HParmBlkPtr paramBlock)
  1262.  = {0x7031,0xA660}; 
  1263. pascal OSErr PBHGetDirAccess(HParmBlkPtr paramBlock,Boolean async); 
  1264. #pragma parameter __D0 PBHGetDirAccessSync(__A0)
  1265. pascal OSErr PBHGetDirAccessSync(HParmBlkPtr paramBlock)
  1266.  = {0x7032,0xA260}; 
  1267. #pragma parameter __D0 PBHGetDirAccessAsync(__A0)
  1268. pascal OSErr PBHGetDirAccessAsync(HParmBlkPtr paramBlock)
  1269.  = {0x7032,0xA660}; 
  1270. pascal OSErr PBHSetDirAccess(HParmBlkPtr paramBlock,Boolean async); 
  1271. #pragma parameter __D0 PBHSetDirAccessSync(__A0)
  1272. pascal OSErr PBHSetDirAccessSync(HParmBlkPtr paramBlock)
  1273.  = {0x7033,0xA260}; 
  1274. #pragma parameter __D0 PBHSetDirAccessAsync(__A0)
  1275. pascal OSErr PBHSetDirAccessAsync(HParmBlkPtr paramBlock)
  1276.  = {0x7033,0xA660}; 
  1277. pascal OSErr PBHMapID(HParmBlkPtr paramBlock,Boolean async); 
  1278. #pragma parameter __D0 PBHMapIDSync(__A0)
  1279. pascal OSErr PBHMapIDSync(HParmBlkPtr paramBlock)
  1280.  = {0x7034,0xA260}; 
  1281. #pragma parameter __D0 PBHMapIDAsync(__A0)
  1282. pascal OSErr PBHMapIDAsync(HParmBlkPtr paramBlock)
  1283.  = {0x7034,0xA660}; 
  1284. pascal OSErr PBHMapName(HParmBlkPtr paramBlock,Boolean async); 
  1285. #pragma parameter __D0 PBHMapNameSync(__A0)
  1286. pascal OSErr PBHMapNameSync(HParmBlkPtr paramBlock)
  1287.  = {0x7035,0xA260}; 
  1288. #pragma parameter __D0 PBHMapNameAsync(__A0)
  1289. pascal OSErr PBHMapNameAsync(HParmBlkPtr paramBlock)
  1290.  = {0x7035,0xA660}; 
  1291. pascal OSErr PBHCopyFile(HParmBlkPtr paramBlock,Boolean async); 
  1292. #pragma parameter __D0 PBHCopyFileSync(__A0)
  1293. pascal OSErr PBHCopyFileSync(HParmBlkPtr paramBlock)
  1294.  = {0x7036,0xA260}; 
  1295. #pragma parameter __D0 PBHCopyFileAsync(__A0)
  1296. pascal OSErr PBHCopyFileAsync(HParmBlkPtr paramBlock)
  1297.  = {0x7036,0xA660}; 
  1298. pascal OSErr PBHMoveRename(HParmBlkPtr paramBlock,Boolean async); 
  1299. #pragma parameter __D0 PBHMoveRenameSync(__A0)
  1300. pascal OSErr PBHMoveRenameSync(HParmBlkPtr paramBlock)
  1301.  = {0x7037,0xA260}; 
  1302. #pragma parameter __D0 PBHMoveRenameAsync(__A0)
  1303. pascal OSErr PBHMoveRenameAsync(HParmBlkPtr paramBlock)
  1304.  = {0x7037,0xA660}; 
  1305. pascal OSErr PBHOpenDeny(HParmBlkPtr paramBlock,Boolean async); 
  1306. #pragma parameter __D0 PBHOpenDenySync(__A0)
  1307. pascal OSErr PBHOpenDenySync(HParmBlkPtr paramBlock)
  1308.  = {0x7038,0xA260}; 
  1309. #pragma parameter __D0 PBHOpenDenyAsync(__A0)
  1310. pascal OSErr PBHOpenDenyAsync(HParmBlkPtr paramBlock)
  1311.  = {0x7038,0xA660}; 
  1312. pascal OSErr PBHOpenRFDeny(HParmBlkPtr paramBlock,Boolean async); 
  1313. #pragma parameter __D0 PBHOpenRFDenySync(__A0)
  1314. pascal OSErr PBHOpenRFDenySync(HParmBlkPtr paramBlock)
  1315.  = {0x7039,0xA260}; 
  1316. #pragma parameter __D0 PBHOpenRFDenyAsync(__A0)
  1317. pascal OSErr PBHOpenRFDenyAsync(HParmBlkPtr paramBlock)
  1318.  = {0x7039,0xA660}; 
  1319.  
  1320. pascal OSErr PBExchangeFiles(HParmBlkPtr paramBlock,Boolean async); 
  1321. #pragma parameter __D0 PBExchangeFilesSync(__A0)
  1322. pascal OSErr PBExchangeFilesSync(HParmBlkPtr paramBlock)
  1323.  = {0x7017,0xA260}; 
  1324. #pragma parameter __D0 PBExchangeFilesAsync(__A0)
  1325. pascal OSErr PBExchangeFilesAsync(HParmBlkPtr paramBlock)
  1326.  = {0x7017,0xA660}; 
  1327. pascal OSErr PBCreateFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1328. #pragma parameter __D0 PBCreateFileIDRefSync(__A0)
  1329. pascal OSErr PBCreateFileIDRefSync(HParmBlkPtr paramBlock)
  1330.  = {0x7014,0xA260}; 
  1331. #pragma parameter __D0 PBCreateFileIDRefAsync(__A0)
  1332. pascal OSErr PBCreateFileIDRefAsync(HParmBlkPtr paramBlock)
  1333.  = {0x7014,0xA660}; 
  1334. pascal OSErr PBResolveFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1335. #pragma parameter __D0 PBResolveFileIDRefSync(__A0)
  1336. pascal OSErr PBResolveFileIDRefSync(HParmBlkPtr paramBlock)
  1337.  = {0x7016,0xA260}; 
  1338. #pragma parameter __D0 PBResolveFileIDRefAsync(__A0)
  1339. pascal OSErr PBResolveFileIDRefAsync(HParmBlkPtr paramBlock)
  1340.  = {0x7016,0xA660}; 
  1341. pascal OSErr PBDeleteFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1342. #pragma parameter __D0 PBDeleteFileIDRefSync(__A0)
  1343. pascal OSErr PBDeleteFileIDRefSync(HParmBlkPtr paramBlock)
  1344.  = {0x7015,0xA260}; 
  1345. #pragma parameter __D0 PBDeleteFileIDRefAsync(__A0)
  1346. pascal OSErr PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock)
  1347.  = {0x7015,0xA660}; 
  1348.  
  1349. pascal OSErr PBGetForeignPrivs(HParmBlkPtr paramBlock,Boolean async); 
  1350. #pragma parameter __D0 PBGetForeignPrivsSync(__A0)
  1351. pascal OSErr PBGetForeignPrivsSync(HParmBlkPtr paramBlock)
  1352.  = {0x7060,0xA260}; 
  1353. #pragma parameter __D0 PBGetForeignPrivsAsync(__A0)
  1354. pascal OSErr PBGetForeignPrivsAsync(HParmBlkPtr paramBlock)
  1355.  = {0x7060,0xA660}; 
  1356. pascal OSErr PBSetForeignPrivs(HParmBlkPtr paramBlock,Boolean async); 
  1357. #pragma parameter __D0 PBSetForeignPrivsSync(__A0)
  1358. pascal OSErr PBSetForeignPrivsSync(HParmBlkPtr paramBlock)
  1359.  = {0x7061,0xA260}; 
  1360. #pragma parameter __D0 PBSetForeignPrivsAsync(__A0)
  1361. pascal OSErr PBSetForeignPrivsAsync(HParmBlkPtr paramBlock)
  1362.  = {0x7061,0xA660}; 
  1363. /*  Desktop Manager  */
  1364. #pragma parameter __D0 PBDTGetPath(__A0)
  1365. pascal OSErr PBDTGetPath(DTPBPtr paramBlock)
  1366.  = {0x7020,0xA260}; 
  1367. #pragma parameter __D0 PBDTCloseDown(__A0)
  1368. pascal OSErr PBDTCloseDown(DTPBPtr paramBlock)
  1369.  = {0x7021,0xA260}; 
  1370. pascal OSErr PBDTAddIcon(DTPBPtr paramBlock,Boolean async); 
  1371. #pragma parameter __D0 PBDTAddIconSync(__A0)
  1372. pascal OSErr PBDTAddIconSync(DTPBPtr paramBlock)
  1373.  = {0x7022,0xA260}; 
  1374. #pragma parameter __D0 PBDTAddIconAsync(__A0)
  1375. pascal OSErr PBDTAddIconAsync(DTPBPtr paramBlock)
  1376.  = {0x7022,0xA660}; 
  1377. pascal OSErr PBDTGetIcon(DTPBPtr paramBlock,Boolean async); 
  1378. #pragma parameter __D0 PBDTGetIconSync(__A0)
  1379. pascal OSErr PBDTGetIconSync(DTPBPtr paramBlock)
  1380.  = {0x7023,0xA260}; 
  1381. #pragma parameter __D0 PBDTGetIconAsync(__A0)
  1382. pascal OSErr PBDTGetIconAsync(DTPBPtr paramBlock)
  1383.  = {0x7023,0xA660}; 
  1384. pascal OSErr PBDTGetIconInfo(DTPBPtr paramBlock,Boolean async); 
  1385. #pragma parameter __D0 PBDTGetIconInfoSync(__A0)
  1386. pascal OSErr PBDTGetIconInfoSync(DTPBPtr paramBlock)
  1387.  = {0x7024,0xA260}; 
  1388. #pragma parameter __D0 PBDTGetIconInfoAsync(__A0)
  1389. pascal OSErr PBDTGetIconInfoAsync(DTPBPtr paramBlock)
  1390.  = {0x7024,0xA660}; 
  1391. pascal OSErr PBDTAddAPPL(DTPBPtr paramBlock,Boolean async); 
  1392. #pragma parameter __D0 PBDTAddAPPLSync(__A0)
  1393. pascal OSErr PBDTAddAPPLSync(DTPBPtr paramBlock)
  1394.  = {0x7025,0xA260}; 
  1395. #pragma parameter __D0 PBDTAddAPPLAsync(__A0)
  1396. pascal OSErr PBDTAddAPPLAsync(DTPBPtr paramBlock)
  1397.  = {0x7025,0xA660}; 
  1398. pascal OSErr PBDTRemoveAPPL(DTPBPtr paramBlock,Boolean async); 
  1399. #pragma parameter __D0 PBDTRemoveAPPLSync(__A0)
  1400. pascal OSErr PBDTRemoveAPPLSync(DTPBPtr paramBlock)
  1401.  = {0x7026,0xA260}; 
  1402. #pragma parameter __D0 PBDTRemoveAPPLAsync(__A0)
  1403. pascal OSErr PBDTRemoveAPPLAsync(DTPBPtr paramBlock)
  1404.  = {0x7026,0xA660}; 
  1405. pascal OSErr PBDTGetAPPL(DTPBPtr paramBlock,Boolean async); 
  1406. #pragma parameter __D0 PBDTGetAPPLSync(__A0)
  1407. pascal OSErr PBDTGetAPPLSync(DTPBPtr paramBlock)
  1408.  = {0x7027,0xA260}; 
  1409. #pragma parameter __D0 PBDTGetAPPLAsync(__A0)
  1410. pascal OSErr PBDTGetAPPLAsync(DTPBPtr paramBlock)
  1411.  = {0x7027,0xA660}; 
  1412. pascal OSErr PBDTSetComment(DTPBPtr paramBlock,Boolean async); 
  1413. #pragma parameter __D0 PBDTSetCommentSync(__A0)
  1414. pascal OSErr PBDTSetCommentSync(DTPBPtr paramBlock)
  1415.  = {0x7028,0xA260}; 
  1416. #pragma parameter __D0 PBDTSetCommentAsync(__A0)
  1417. pascal OSErr PBDTSetCommentAsync(DTPBPtr paramBlock)
  1418.  = {0x7028,0xA660}; 
  1419. pascal OSErr PBDTRemoveComment(DTPBPtr paramBlock,Boolean async); 
  1420. #pragma parameter __D0 PBDTRemoveCommentSync(__A0)
  1421. pascal OSErr PBDTRemoveCommentSync(DTPBPtr paramBlock)
  1422.  = {0x7029,0xA260}; 
  1423. #pragma parameter __D0 PBDTRemoveCommentAsync(__A0)
  1424. pascal OSErr PBDTRemoveCommentAsync(DTPBPtr paramBlock)
  1425.  = {0x7029,0xA660}; 
  1426. pascal OSErr PBDTGetComment(DTPBPtr paramBlock,Boolean async); 
  1427. #pragma parameter __D0 PBDTGetCommentSync(__A0)
  1428. pascal OSErr PBDTGetCommentSync(DTPBPtr paramBlock)
  1429.  = {0x702A,0xA260}; 
  1430. #pragma parameter __D0 PBDTGetCommentAsync(__A0)
  1431. pascal OSErr PBDTGetCommentAsync(DTPBPtr paramBlock)
  1432.  = {0x702A,0xA660}; 
  1433. pascal OSErr PBDTFlush(DTPBPtr paramBlock,Boolean async); 
  1434. #pragma parameter __D0 PBDTFlushSync(__A0)
  1435. pascal OSErr PBDTFlushSync(DTPBPtr paramBlock)
  1436.  = {0x702B,0xA260}; 
  1437. #pragma parameter __D0 PBDTFlushAsync(__A0)
  1438. pascal OSErr PBDTFlushAsync(DTPBPtr paramBlock)
  1439.  = {0x702B,0xA660}; 
  1440. pascal OSErr PBDTReset(DTPBPtr paramBlock,Boolean async); 
  1441. #pragma parameter __D0 PBDTResetSync(__A0)
  1442. pascal OSErr PBDTResetSync(DTPBPtr paramBlock)
  1443.  = {0x702C,0xA260}; 
  1444. #pragma parameter __D0 PBDTResetAsync(__A0)
  1445. pascal OSErr PBDTResetAsync(DTPBPtr paramBlock)
  1446.  = {0x702C,0xA660}; 
  1447. pascal OSErr PBDTGetInfo(DTPBPtr paramBlock,Boolean async); 
  1448. #pragma parameter __D0 PBDTGetInfoSync(__A0)
  1449. pascal OSErr PBDTGetInfoSync(DTPBPtr paramBlock)
  1450.  = {0x702D,0xA260}; 
  1451. #pragma parameter __D0 PBDTGetInfoAsync(__A0)
  1452. pascal OSErr PBDTGetInfoAsync(DTPBPtr paramBlock)
  1453.  = {0x702D,0xA660}; 
  1454. #pragma parameter __D0 PBDTOpenInform(__A0)
  1455. pascal OSErr PBDTOpenInform(DTPBPtr paramBlock)
  1456.  = {0x702E,0xA060}; 
  1457. pascal OSErr PBDTDelete(DTPBPtr paramBlock,Boolean async); 
  1458. #pragma parameter __D0 PBDTDeleteSync(__A0)
  1459. pascal OSErr PBDTDeleteSync(DTPBPtr paramBlock)
  1460.  = {0x702F,0xA060}; 
  1461. #pragma parameter __D0 PBDTDeleteAsync(__A0)
  1462. pascal OSErr PBDTDeleteAsync(DTPBPtr paramBlock)
  1463.  = {0x702F,0xA460}; 
  1464. /*  VolumeMount traps  */
  1465. #pragma parameter __D0 PBGetVolMountInfoSize(__A0)
  1466. pascal OSErr PBGetVolMountInfoSize(ParmBlkPtr paramBlock)
  1467.  = {0x703F,0xA260}; 
  1468. #pragma parameter __D0 PBGetVolMountInfo(__A0)
  1469. pascal OSErr PBGetVolMountInfo(ParmBlkPtr paramBlock)
  1470.  = {0x7040,0xA260}; 
  1471. #pragma parameter __D0 PBVolumeMount(__A0)
  1472. pascal OSErr PBVolumeMount(ParmBlkPtr paramBlock)
  1473.  = {0x7041,0xA260}; 
  1474. /*  FSp traps  */
  1475. pascal OSErr FSMakeFSSpec(short vRefNum,long dirID,ConstStr255Param fileName,
  1476.  FSSpecPtr spec)
  1477.  = {0x303C,0x0001,0xAA52}; 
  1478. pascal OSErr FSpOpenDF(const FSSpec *spec,char permission,short *refNum)
  1479.  = {0x303C,0x0002,0xAA52}; 
  1480. pascal OSErr FSpOpenRF(const FSSpec  *spec,char permission,short *refNum)
  1481.  = {0x303C,0x0003,0xAA52}; 
  1482. pascal OSErr FSpCreate(const FSSpec  *spec,OSType creator,OSType fileType,
  1483.  ScriptCode scriptTag)
  1484.  = {0x303C,0x0004,0xAA52}; 
  1485. pascal OSErr FSpDirCreate(const FSSpec *spec,ScriptCode scriptTag,long *createdDirID)
  1486.  = {0x303C,0x0005,0xAA52}; 
  1487. pascal OSErr FSpDelete(const FSSpec *spec)
  1488.  = {0x303C,0x0006,0xAA52}; 
  1489. pascal OSErr FSpGetFInfo(const FSSpec *spec,FInfo *fndrInfo)
  1490.  = {0x303C,0x0007,0xAA52}; 
  1491. pascal OSErr FSpSetFInfo(const FSSpec *spec,const FInfo *fndrInfo)
  1492.  = {0x303C,0x0008,0xAA52}; 
  1493. pascal OSErr FSpSetFLock(const FSSpec *spec)
  1494.  = {0x303C,0x0009,0xAA52}; 
  1495. pascal OSErr FSpRstFLock(const FSSpec *spec)
  1496.  = {0x303C,0x000A,0xAA52}; 
  1497. pascal OSErr FSpRename(const FSSpec *spec,ConstStr255Param newName)
  1498.  = {0x303C,0x000B,0xAA52}; 
  1499. pascal OSErr FSpCatMove(const FSSpec *source,const FSSpec *dest)
  1500.  = {0x303C,0x000C,0xAA52}; 
  1501. pascal OSErr FSpExchangeFiles(const FSSpec *source,const FSSpec *dest)
  1502.  = {0x303C,0x000F,0xAA52}; 
  1503. /* Obsoolete names for PBGetForeignPrivs and PBSetForeignPrivs */
  1504. pascal OSErr PBGetAltAccess(HParmBlkPtr paramBlock,Boolean async); 
  1505. #pragma parameter __D0 PBGetAltAccessSync(__A0)
  1506. pascal OSErr PBGetAltAccessSync(HParmBlkPtr paramBlock)
  1507.  = {0x7060,0xA060}; 
  1508. #pragma parameter __D0 PBGetAltAccessAsync(__A0)
  1509. pascal OSErr PBGetAltAccessAsync(HParmBlkPtr paramBlock)
  1510.  = {0x7060,0xA460}; 
  1511. pascal OSErr PBSetAltAccess(HParmBlkPtr paramBlock,Boolean async); 
  1512. #pragma parameter __D0 PBSetAltAccessSync(__A0)
  1513. pascal OSErr PBSetAltAccessSync(HParmBlkPtr paramBlock)
  1514.  = {0x7061,0xA060}; 
  1515. #pragma parameter __D0 PBSetAltAccessAsync(__A0)
  1516. pascal OSErr PBSetAltAccessAsync(HParmBlkPtr paramBlock)
  1517.  = {0x7061,0xA460}; 
  1518. #ifdef __cplusplus
  1519. }
  1520. #endif
  1521.  
  1522. #endif
  1523.